package edu.cuit.zhuyimeng.flight.service;

import edu.cuit.zhuyimeng.flight.controller.dto.QueryFlightDTO;
import edu.cuit.zhuyimeng.flight.controller.vo.FlightInfoVO;

import java.util.List;

/**
 * 航班查询服务
 */
public interface IFlightQueryService {

    /**
     * 查询所有航班
     * @param page 页码
     * @return 航班信息列表
     */
    List<FlightInfoVO> queryAllFlight(Integer page);

    /**
     * 查询所有航班数目
     * @return 航班数目
     */
    Integer queryAllFlightAmount();

    /**
     * 查询空闲航班
     * @param queryFlightDTO 查询航班信息
     * @return 航班信息列表
     */
    List<FlightInfoVO> queryIdleFlight(QueryFlightDTO queryFlightDTO);

    /**
     * 查询相似航班
     * @param id 航班ID
     * @return 航班信息列表
     */
    List<FlightInfoVO> querySimilarFlight(Long id);

    /**
     * 查询单个航班
     * @param id 航班ID
     * @return 航班信息
     */
    FlightInfoVO queryOneFlight(Long id);

}
